home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / include / grlink.h < prev    next >
C/C++ Source or Header  |  1997-05-08  |  6KB  |  186 lines

  1. #ifndef GRLINK_H
  2. #define GRLINK_H
  3. /*
  4. |    file name -- GRlink.h
  5. |===================================================================
  6. |
  7. |                         copyright (c) 1984
  8. |                    Visual Intelligence Corporation
  9. |
  10. |    GRlink - Indices in link table for GRroutines.
  11. |
  12. |    alan morse        11 sep 84    Extracted from dvprim.h
  13. |    russell turner    3  jan 89    added primitive GRreset
  14. |    chris hoffmann     26 nov 90       added mask and mass pixel setting
  15. |                                       for rasters
  16. |    chris hoffmann     10 oct 91       Added pixrep extensions to rasters.
  17. |
  18. |-------------------------------------------------------------------
  19. |
  20. |    Description
  21. |    This contains the indices into the link tables for the GR
  22. |    graphics routines.  This include file should only be used
  23. |    by GR routines and their device drivers.
  24. |
  25. |    Note that primitives added after 1988 (i.e. 56 and beyond)
  26. |    must check for a NULL function pointer in the table before calling
  27. |    to be upwardly compatible with older, 'pre-89' drivers. -rt
  28. |
  29. |===================================================================
  30. */
  31. /*-----------------------------------------------------------*/
  32. /* define the number of device-dependent primitive functions */
  33. /*-----------------------------------------------------------*/
  34.  
  35. #define NO_OF_PRIMITIVES        100
  36.  
  37. /* Maximum number of attribute-value pairs in GRopen_set */
  38. #define MAXSETARGS         32
  39.  
  40. /*---------------------------------------*/
  41. /* define a function pointer table entry */
  42. /*---------------------------------------*/
  43.  
  44. typedef BOOLPARAM (*FPT_ENTRY)();
  45. typedef int  (*INT_FPT_ENTRY)();
  46. typedef LONG (*LONG_FPT_ENTRY)();
  47. typedef ULONG (*ULONG_FPT_ENTRY)();
  48. typedef ADDRESS (*ADDR_FPT_ENTRY)();
  49.  
  50. /*---------------------------------*/
  51. /* define a function pointer table */
  52. /*---------------------------------*/
  53.  
  54. typedef FPT_ENTRY FPT [NO_OF_PRIMITIVES];
  55.  
  56. /*
  57. |-------------------------------------------------------------------
  58. | define the symbolic names of the device-dependent primitive functions
  59. |
  60. |    Every device supported by the system has a corresponding device
  61. |    module of support routines.  Each module contains a table of
  62. |    pointers.  Each pointer within the table points to a device-
  63. |    dependent support function.  The generic primitive module that
  64. |    'sits' between higher level software and the device-dependent
  65. |    modules links to the device-dependent support functions through
  66. |    these function pointer tables.
  67. |
  68. |    The following definitions actually define the index positions
  69. |    of the function pointers within each function pointer table.
  70. |    The generic primitive module uses these index definitions to
  71. |    access device-dependent primitive functions.
  72. |
  73. |    FI means "Function Index"
  74. |
  75. |-------------------------------------------------------------------
  76. */
  77. #define FIopen            0
  78. #define FIclose            1
  79. #define FIs_color_table        2
  80. #define FIg_color_table        3
  81. #define FIcolor            4
  82. #define FIbackcolor        5
  83. #define FIrasspix        6
  84. #define FImove            7
  85. #define FIvector        8
  86. #define FIconcat_vector        9
  87. #define FImove_and_vector    10
  88. #define FIrectangle        11
  89. #define FIf_rectangle        12
  90. #define FIcircle        13
  91. #define FIf_circle        14
  92. #define FIpolygon        15
  93. #define FIf_polygon        16
  94. #define FIsector        17
  95. #define FIf_sector        18
  96. #define FIerase            19
  97. #define FIrasgpix        20
  98. #define FIflush            21
  99. #define FIrasrestore        22
  100. #define FItext            23
  101. #define FItextsize        24
  102. #define FIfont            25
  103. #define FIch_size        26
  104. #define FIrassave        27
  105. #define FIvcs_to_scs        28
  106. #define FIscs_to_vcs        29
  107. #define FIlocate        30
  108. #define FIsetfio        31
  109. #define FIgetfio        32
  110. #define FIrascreate        33
  111. #define FIrasdraw        34
  112. #define FIrasget        35
  113. #define FIrasmove        36
  114. #define FIrasfree        37
  115. #define FIrasquery        38
  116. #define FIselect        39
  117. #define FIrgbtoindex        40
  118. #define FIindextorgb        41
  119. #define FIcurrent_point     42
  120. #define FIviewport         43
  121. #define FIg_viewport         44
  122. #define FIcr_open_poll        45
  123. #define FIcr_close_poll        46
  124. #define FIcr_poll        47
  125. #define FIcr_status        48
  126. #define FIcr_define        49
  127. #define FIline            50
  128. #define FIrassize        51
  129. #define FIend_frame        52
  130. #define FImaskplanes        53
  131. #define FIcr_move        54
  132.  
  133.  
  134. /*
  135.  * The following new primitives are optional and are not guaranteed to be there
  136.  * for all drivers.  The corresponding GR routines must check for a NULL
  137.  * function pointer before calling. -rt
  138.  */
  139. #define FIreset            55
  140. #define FIset            56
  141. #define FIget            57
  142. #define FIwe_mask        58
  143. #define FIwe_poll        59
  144. #define FIwe_state        60
  145. #define FIopen_set        61
  146. #define FIwe_gmask              62
  147. #define FIrasspixels            63
  148. #define FIrassmask              64
  149. #define FIrasdrawpart           65
  150. #define FIwe_dispatch_event     66
  151. #define FIg_pixel               67
  152. #define FIwe_convert_event      68
  153. #define FIg_actual_color_table  69
  154. #define FIrasvalid              70
  155. #define FIpixeltorgb            71
  156. #define FIrasspxrp              72
  157. #define FIrasgpxrp              73
  158. #define FIrassmaskpxrp          74
  159. #define FIrasgmaskpxrp          75
  160.  
  161. #define FIconcat_line        76
  162.  
  163. #define FIs_index_color        77
  164. #define FIs_index_rw        78
  165. #define FIdrop_color        79
  166.  
  167. #define FIg_ch_size        80
  168.  
  169. #ifdef WINNT
  170. #define FIprint_start       81
  171. #define FIprint_end         82
  172. #define FIprint_set         83
  173. #define FIprint_reset       84
  174. #define FIprtoggle          85
  175. #endif
  176.  
  177. #define FIsfontfree        86
  178. #define FIsfontset        87
  179. #define FIsftext        88
  180. #define FIgetsfont      89
  181. #define FIgetsfontinfo  90
  182. #define FIsfpt_to_scs   91
  183.  
  184. #endif
  185.  
  186.